package com.paohe.lianxin_pda.utils.port;

import java.util.Map;

import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;

public interface VisitPort {

    //@Headers--添加请求头
    //@Path--替换路径
    //@Query--替代参数值，通常是结合get请求的
    //@FormUrlEncoded--用表单数据提交
    //@Field--替换参数值，是结合post请求的

    //登录接口
    @POST("system/pda/login")
    Call<ResponseBody> login(@Body Map map);

    //获取信息接口
    @POST("queryUserInfo")
    Call<ResponseBody> geuUserInfo(@Body Map map);

    //获取所有信息接口
    @POST("queryUserAllInfo")
    Call<ResponseBody> queryUserAllInfo(@Body Map map);

    //移库移出列表
    @POST("cargoWarehouseRecord/moveOutList")
    Call<ResponseBody> getMoData(@Body Map map);

    //移库移出详情列表
    @POST("cargoWarehouseRecord/moveOutDtlList")
    Call<ResponseBody> getMoDtData(@Body Map map);

    //移库移出信息
    @GET("cargoWarehouseRecord/selectBasketDtl/{basketCode}/{recordCode}")
    Call<ResponseBody> getMoOutInfo(@Path("basketCode") String basketCode, @Path("recordCode") String recordCode);

    //移库移出确认
    @POST("cargoWarehouseRecord/untying")
    Call<ResponseBody> untyingFrame(@Body Map map);

    //移库移入列表
    @POST("cargoWarehouseRecord/shiftInList")
    Call<ResponseBody> getMoInData(@Body Map map);

    //移库移入确认确认
    @POST("cargoWarehouseRecord/confirmShiftIn")
    Call<ResponseBody> getMoInOkData(@Body Map map);

    //移库移出确认列表
    @POST("cargoWarehouseRecord/moveLibraryConfirmList")
    Call<ResponseBody> getMoInOkList(@Body Map map);


    //移库移出货物信息/库位信息查询
    @GET("cargoWarehouseRecord/moveLibraryDetails/{basketCode}/{seatCode}")
    Call<ResponseBody> getMoVeOutInfo(@Path("basketCode") String basketCode, @Path("seatCode") String seatCode);

    //移库移出（抽查）确认无误
    @POST("cargoWarehouseRecord/moveLibraryConfirm")
    Call<ResponseBody> getMoCheckOk(@Body Map map);

    //入库管理列表
    @POST("cargoInfo/queryRKList")
    Call<ResponseBody> getIntoList(@Body Map map);

    //绑定库位/入库装框详情、列表
    @POST("cargoInfo/queryBasketDtl")
    Call<ResponseBody> getIntoBindList(@Body Map map);

    //装框入录
    @POST("cargoInfo/saveCargoInfo")
    Call<ResponseBody> getIntoFrameUp(@Body Map map);

    //绑定库位
    @POST("cargoInfo/bindSeat")
    Call<ResponseBody> getIntoBindingStorage(@Body Map map);

    //入库查批次筐信息
    @POST("cargoInfo/selectBasketDtl")
    Call<ResponseBody> getIntoFrameDtail(@Body Map map);

    //入库框信息列表清空
    @GET("cargoInfo/cleanBasket/{batchNo}")
    Call<ResponseBody> getIntoCancel(@Path("batchNo") String batchNo);

    //入库--获取包材
    @GET("cargoInfo/queryMaterial/{code}")
    Call<ResponseBody> getMaterial(@Path("code") String code);

    //入库--装框详情列表取消
    @GET("cargoInfo/cleanCargoInfo/{id}")
    Call<ResponseBody> getIntoDetaiCancel(@Path("id") long id);

    //货物查询--货物列表
    @POST("cargo/searchList")
    Call<ResponseBody> getQueryGoodsList(@Body Map map);

    //货物查询--货物列表详情
    @POST("cargoInfo/queryCargoInfo")
    Call<ResponseBody> getQueryDetail(@Body Map map);

    //货物查询--按照筐号查询货物信息
    @GET("cargoInfo/queryCargoInfoDtl/{basketCode}")
    Call<ResponseBody> getQueryFrameInfo(@Path("basketCode") String basketCode);

    //货物查询--按照库位号查询货物信息
    @GET("cargoInfo/querySeatCargoInfo/{seatCode}")
    Call<ResponseBody> getQueryStorageInfo(@Path("seatCode") String seatCode);

    //盘点--盘点列表
    @POST("takeStockInfo/inventoryList")
    Call<ResponseBody> getCheckList(@Body Map map);

    //盘点--盘点信息
    @GET("takeStockInfo/checkStockDtl/{basketCode}")
    Call<ResponseBody> getCheckInfo(@Path("basketCode") String basketCode);

    //盘点--盘点操作
    @POST("takeStockInfo/checkStock")
    Call<ResponseBody> getCheckExecute(@Body Map map);

    //出库--出库单列表
    @POST("shipment/queryShipment")
    Call<ResponseBody> getOutList(@Body Map map);

    //出库--出库确认信息
    @GET("shipment/shipmentConfirmDtl/{basketCode}/{seatCode}")
    Call<ResponseBody> getOutInfo(@Path("basketCode") String basketCode, @Path("seatCode") String seatCode);

    //出库--确认出库
    @POST("shipment/confirmShipment")
    Call<ResponseBody> getOutExecute(@Body Map map);

    //出库--查看详情
    @POST("shipment/queryShipmentDtil")
    Call<ResponseBody> getOutDetail(@Body Map map);

    //会员信息--基础
    @GET("findUserById/{userId}")
    Call<ResponseBody> getVipInfo(@Path("userId") long userId);

    //会员信息--保证金
    @GET("auction/queryUserDepositList/{userId}")
    Call<ResponseBody> getQueryUserDeposit(@Path("userId") long userId);

    //会员信息确认
    @POST("userClockIn/saveClockIn")
    Call<ResponseBody> getSaveClockIn(@Body Map map);

}
